<?php  
	//******************标签管理模型******************
	class TagModel extends Model{
		//定义表名
		public $table = 'tag';
		//保存所有分类缓存的属性
		public $allTag;

		//自动运行方法
		public function __init(){
			//读取缓存
			$this->allTag = S('allTag',false,0,array('dir'=>CACHE_PATH));
		}

		//更新缓存
		public function update_cache(){
			//获得数据
			$tags = $this -> all();
			//写入缓存 1.缓存名称 2.缓存数据 3.缓存时间 4.缓存路径
			S('allTag',$tags,0,array('dir'=>CACHE_PATH));
		}

		//******************添加标签方法******************
		public function add_tag(){
			//获得要添加的标签内容
			$tags = Q('post.tagname');
			//定义正则
			$preg = "/(\s|\r|\n)+?/is";
			//正则分割字符串 返回数组
			$tagsArr = preg_split($preg, $tags);
			//循环添加标签
			foreach($tagsArr as $v){
				//判断$v是否为空 不为空才执行添加
				if (!empty($v)) {
					//执行模型中的添加数据方法
					$this -> add(array('tagname'=>$v));
				}	
			}
			//更新缓存
			$this -> update_cache();
		}

		//******************获得数据方法******************
		public function get_tag(){
			return $this -> all();
		}

		//******************获得一条数据******************
		public function get_one($where,$field=NULL){
			return $this -> where($where) -> field($field) -> find();
		}

		//******************编辑标签******************
		public function save_data(){
			$this -> save();
			//更新缓存
			$this -> update_cache();
		}

		//******************删除标签******************
		public function del_tag($where){
			$this -> where($where) -> delete();
			//更新缓存
			$this -> update_cache();
		}
	}
?>